'use strict'

class image {

  constructor () {
    //param默认就是/:id，若要改变路由，则可以设置此属性，比如设置为/:name
    this.param = '/:name'
  }

  //以下方法，若不需要，要去掉，避免无意义的路由。

  //获取资源具体内容
  async get (c) {
    let imgname = c.param.name

    try {
        await c.helper.pipe(`${c.service.imagePath}/${imgname}`,c.reply)
    }catch(err){
        c.status(404).send('image not found')
    }
   
  }

  //创建资源
  async post (c) {
    let f = c.getFile('image')

    if(!f){
        return c.status(400).send('file not found')
    }

    // 生成唯一文件名
    let fname = c.helper.makeName(f.filename)

    // fetch('./upload',{
    //     method:POST,
    //     body:fm
    // })
    // .then(res=>{
    //     if(res.ok){
    //         return res.text();
    //     }
    //     throw new Error(`${res.status} ${res.statusText}`)
    // })
    // .then(text=>{
    //     let d = document.getElementById('ret-content');
    //     d.innerHTML=`<img src="/image/${text}" style="width:80%;height:auto;">`
    // })
    // .catch(err=>{
    //     console.error(err.message);
    // });

    try{
        await c.moveFile(f,`${c.service.imagePath}/${fname}`)
        c.send(fname)
    }catch(err){
        c.status(500).send('failed')
    }
  }

  //更新资源
  async put (c) {

  }

  //获取列表
  async list (c) {

  }

  //删除资源
  async delete (c) {

  }

}

module.exports = image
